<?php
	namespace app\api\controller; // 命名空间
	use think\Db; // 引用类

	// 数据校验
    function test_input($data)
	{
		$data = trim($data); //去除用户输入数据中不必要的字符（多余的空格、制表符、换行）
		$data = stripslashes($data); //删除用户输入数据中的反斜杠（\）
		$data = htmlspecialchars($data); //把特殊字符转换为 HTML 实体
		return $data;
	}
    // 数据校验 尾巴

    // 分光流水码类
	class Fglsm
	{
		// 连接测试首页 172.31.3.27:84/index.php?s=api/fglsm
		public function index()
		{
			return json(['msg' => '测试连接成功']);
		}
        // 连接测试首页 尾巴

		// 流水码取得
        // 传入工单号和机台号
		//连接测试页 172.31.3.27:84/index.php?s=api/fglsm/lsm?gdh=工单号&jth=机台号
		public function lsm($gdh, $jth) //$RQ,$GD,$JT)
		{
			$gdh = test_input($gdh); // 工单号 把自己下水刷一刷
            $jth = test_input($jth); // 机台号 把自己下水刷一刷

			$msg = "连接成功"; //返回的文本


			$ISGD = preg_match('/^([A-Z\d]{7,9})(?:\-[A-Z\d])?$/', $gdh, $GDH); // 正则 测试 工单号
            $ISJT = preg_match('/^[A-Z]{3}\d{4}$/', $jth, $JTH); // 正则 测试 机台号
			
			if (!$ISGD)
			{
				$msg = "连接成功, 但工单号错误"; //返回的文本
				return $msg;
			}
            
            if (!$ISJT)
            {
                $msg = "连接成功, 但机台号错误"; //返回的文本
                return $msg;
            }

            // 错误捕捉程序
            // 正常的代码
            try
            {
                $sql = "CALL LSM('" . $GDH[0] . "', '" . $JTH[0] . "')"; // 凑存储过程语句
                $resultSet = Db::connect("fgbq")->query($sql); // 呼叫存储过程 得到结果集
                // 取出结果集
                foreach ($resultSet as $result)
                {
                    return $result[0]["LSM"];
                }
                // 取出结果集 尾巴
            }
            // 正常的代码 尾巴
            
            // 异常抛出代码
            catch(\Exception $e)
            {
                // var_dump($e); // 调试结果集
                return "msg: " . $e->getMessage();
            }
            // 异常抛出代码 尾巴
            // 错误捕捉程序 尾巴
		}
        // 流水码获得的 尾巴
	}
    // 分光流水码类 尾巴